/** 
 * 抽象单例父类
*/
export default class Singleton {
    protected static _instance: Singleton;
    protected _launched: boolean;
    protected constructor() { this._launched = true; }
    public get launched(): boolean { return this._launched; }
    public static get instance(): Singleton {
        if (!this._instance || !(this._instance instanceof this))
            this._instance = new this();
        return this._instance;
    }
}